package com.ruoyi.qif.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 锜风公寓-房间对象 qif_room
 * 
 * @author David
 * @date 2025-10-05
 */
public class QifRoom extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 房间id */
    private Long roomId;

    /** 单元号 */
    @Excel(name = "单元号", readConverterExp = "1=一单元,2=二单元")
    private String unit;

    /** 房间莞e号 */
    @Excel(name = "莞e号")
    private Long roomENum;

    /** 房间号 */
    @Excel(name = "房号")
    private String roomNum;

    /** 租金 */
    @Excel(name = "租金")
    private BigDecimal rent;

    /** 押金 */
    @Excel(name = "押金")
    private BigDecimal deposit;

    /** 房卡押金 */
    @Excel(name = "门卡")
    private BigDecimal keyCard;

    @Excel(name = "交租日")
    private Integer rentPayDate;

    /** 水表读数 */
    @Excel(name = "本月水")
    private Long water;

    /** 水单价 */
    @Excel(name = "水单价")
    private BigDecimal waterUnitPrice;

    /** 电表读数 */
    @Excel(name = "本月电")
    private Long electricity;

    /** 电单价 */
    @Excel(name = "电单价")
    private BigDecimal electricityUnitPrice;

    /** 卫生费 */
    @Excel(name = "卫生费")
    private BigDecimal sanitationFee;

    /** 入住时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "入住时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date checkInTime;

    /** 到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationTime;

    /** 房间类型（00-商铺,01-单间,02-1房1厅,03-2房1厅,04-宿舍,05-仓库） */
    @Excel(name = "房间类型", readConverterExp = "00=商铺,01=单间,02=1房1厅,03=2房1厅,04=宿舍,05=仓库")
    private String roomType;

    /** 房间状态(0:在租,1:逾期,2:维修,3:空房,4:续住) */
    @Excel(name = "房屋状态",readConverterExp = "0=在租,=逾期,2=维修,3=空房,4=续住")
    private String status;


    public String getRoomType() {
        return roomType;
    }

    public void setRoomType(String roomType) {
        this.roomType = roomType;
    }

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    public Integer getRentPayDate() {
        return rentPayDate;
    }

    public void setRentPayDate(Integer rentPayDate) {
        this.rentPayDate = rentPayDate;
    }

    public void setRoomId(Long roomId)
    {
        this.roomId = roomId;
    }

    public Long getRoomId() 
    {
        return roomId;
    }

    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }

    public void setRoomENum(Long roomENum) 
    {
        this.roomENum = roomENum;
    }

    public Long getRoomENum() 
    {
        return roomENum;
    }

    public void setRoomNum(String roomNum) 
    {
        this.roomNum = roomNum;
    }

    public String getRoomNum() 
    {
        return roomNum;
    }

    public void setRent(BigDecimal rent)
    {
        this.rent = rent;
    }

    public BigDecimal getRent()
    {
        return rent;
    }

    public void setDeposit(BigDecimal deposit)
    {
        this.deposit = deposit;
    }

    public BigDecimal getDeposit()
    {
        return deposit;
    }

    public void setKeyCard(BigDecimal keyCard)
    {
        this.keyCard = keyCard;
    }

    public BigDecimal getKeyCard()
    {
        return keyCard;
    }

    public void setWater(Long water) 
    {
        this.water = water;
    }

    public Long getWater() 
    {
        return water;
    }

    public void setWaterUnitPrice(BigDecimal waterUnitPrice) 
    {
        this.waterUnitPrice = waterUnitPrice;
    }

    public BigDecimal getWaterUnitPrice() 
    {
        return waterUnitPrice;
    }

    public void setElectricity(Long electricity) 
    {
        this.electricity = electricity;
    }

    public Long getElectricity() 
    {
        return electricity;
    }

    public void setElectricityUnitPrice(BigDecimal electricityUnitPrice) 
    {
        this.electricityUnitPrice = electricityUnitPrice;
    }

    public BigDecimal getElectricityUnitPrice() 
    {
        return electricityUnitPrice;
    }

    public void setSanitationFee(BigDecimal sanitationFee)
    {
        this.sanitationFee = sanitationFee;
    }

    public BigDecimal getSanitationFee()
    {
        return sanitationFee;
    }

    public void setCheckInTime(Date checkInTime) 
    {
        this.checkInTime = checkInTime;
    }

    public Date getCheckInTime() 
    {
        return checkInTime;
    }

    public void setExpirationTime(Date expirationTime) 
    {
        this.expirationTime = expirationTime;
    }

    public Date getExpirationTime() 
    {
        return expirationTime;
    }

    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("roomId", getRoomId())
                .append("unit", getUnit())
                .append("roomENum", getRoomENum())
                .append("roomNum", getRoomNum())
                .append("rent", getRent())
                .append("deposit", getDeposit())
                .append("keyCard", getKeyCard())
                .append("rentPayDate", getRentPayDate())
                .append("water", getWater())
                .append("waterUnitPrice", getWaterUnitPrice())
                .append("electricity", getElectricity())
                .append("electricityUnitPrice", getElectricityUnitPrice())
                .append("sanitationFee", getSanitationFee())
                .append("checkInTime", getCheckInTime())
                .append("expirationTime", getExpirationTime())
                .append("roomType", getRoomType())
                .append("status", getStatus())
                .append("delFlag", getDelFlag())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
